package com.liuyonggang.generator.dao.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import com.liuyonggang.generator.dao.TemplateInfoMapper;
import com.liuyonggang.generator.model.TemplateInfo;
import com.liuyonggang.generator.util.PageInfo;
import com.liuyonggang.generator.util.ResultVo;

@Repository("templateInfoDal")
public class TemplateInfoDal {
	
	@Autowired
	private TemplateInfoMapper templateInfoMapper;

	public int countModel(){
		return templateInfoMapper.countModel();
	}

	public List<TemplateInfo> findAll(TemplateInfo task) {
		return templateInfoMapper.findAll(task);
	}

	public PageInfo<TemplateInfo> findAllByPage(PageInfo<TemplateInfo> pageInfo) {
		int count = templateInfoMapper.countByPage(pageInfo);
        PageInfo<TemplateInfo> page = new PageInfo<TemplateInfo>(count, pageInfo.getPageNumber(), pageInfo.getLimit());
        page.setList(templateInfoMapper.findAllByPage(pageInfo));
	    return page;
	}

    public TemplateInfo findById(Integer id) {
        TemplateInfo vo = null;
        try {
            vo = templateInfoMapper.findById(id);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return vo;
    }

    public ResultVo updateTemplateInfo(TemplateInfo template) {
        ResultVo vo = new ResultVo();
        try {
            templateInfoMapper.updateTemplateInfo(template);
        } catch (Exception e) {
            vo.setStatus(500);
            vo.setMessage("保存失败");
        }
        return vo;
    }

    public ResultVo addTemplateInfo(TemplateInfo template) {
        ResultVo vo = new ResultVo();
        try {
            templateInfoMapper.addTemplateInfo(template);
        } catch (Exception e) {
            vo.setStatus(500);
            vo.setMessage("保存失败");
        }
        return vo;
    }

    public ResultVo deleteTemplateInfo(TemplateInfo template) {
        ResultVo vo = new ResultVo();
        try {
            templateInfoMapper.deleteTemplateInfo(template);
        } catch (Exception e) {
            vo.setStatus(500);
            vo.setMessage("删除失败");
        }
        return vo;
    }
}
